package com.ada.spark.action

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Demo9_saveAsTextFile {
    def main(args: Array[String]): Unit = {
        //创建SparkConf
        val conf = new SparkConf().setAppName("Demo9_saveAsTextFile").setMaster("local[*]")
        //创建Spark上下文对象
        val sc = new SparkContext(conf)

        val rdd: RDD[(Char, Int)] = sc.makeRDD(List(('a', 1), ('b', 2), ('c', 3), ('d', 4)), 2)

        //作用：将数据集的元素以textfile的形式保存到HDFS文件系统或者其他支持的文件系统，对于每个元素，Spark将会调用toString方法，将它装换为文件中的文本
        rdd.saveAsTextFile("output1");

        //作用：将数据集中的元素以Hadoop sequencefile的格式保存到指定的目录下，可以使HDFS或者其他Hadoop支持的文件系统。
        //rddoperator.saveAsSequenceFile("output2")

        //作用：用于将RDD中的元素序列化成对象，存储到文件中。
        rdd.saveAsObjectFile("output3");
    }
}
